﻿using ExcellentProjectPlus.Dominio.Examenes.Entidades;
using ExcellentProjectPlus.Dominio.Examenes.Repositorios.Calendarizaciones;
using ExcellentProjectPlus.Infraestructura.Data.Core;
using ExcellentProjectPlus.Infraestructura.Data.Examenes.Modelo;
using ExcellentProjectPlus.Infraestructura.Transversales.Logging;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ExcellentProjectPlus.Infraestructura.Data.Examenes.Repositorios
{
    public class RepositorioCalendarizacion
         : Repositorio<Calendarizacion>, IRepositorioCalendarizacion
    {
        #region Constructores
        public RepositorioCalendarizacion(DbContext contexto, ITraceManager traceManager)
            : base(contexto, traceManager)
        {

        }
        #endregion
        public IEnumerable<InformacionCalendarizacionExamen> ObtenerInformacionCalendarizacionExamen(Func<InformacionCalendarizacionExamen, bool> predicate = null)
        {
            if (predicate == null)
                return Contexto.Set<InformacionCalendarizacionExamen>().ToList();
            else
                return Contexto.Set<InformacionCalendarizacionExamen>().Where(predicate).ToList();

        }

        public List<Calendarizacion> ObtenerExamenesPorEstudiante(int idCurso, int idEstudiante)
        {
            return ((ExamenesContext)Contexto).ObtenerExamenesPorEstudiante(idCurso, idEstudiante).ToList();
        }

    }
}
